分享好友 技术首页 技术分类 切换频道

怎样通过OPC Client与世纪星交互

2020-07-19 23:36910

1 OPC简介

  OPC是 OLE for Process Control 的缩写,即把 OLE 技术应用于工业控制领域。

  OPC的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的 OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是 OLE2技术,OLE标准允许多台微机之间交换文档、图形等对象。

  OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。

  应用程序与OPC服务器之间必须有 OPC 接口,OPC 规范提供了两套标准接口:Custom 标准接口,OLE 自动化标准接口。通常在系统设计中采用OLE自动化标准接口,OLE 自动化标准接口,及采用 OLE 自动化技术进行调用,其技术为上节所述的 OLE 自动化技术。OLE 自动化标准接口定义了以下三层接口,依次呈包含关系:

  1)OPC Server:OPC 启动服务器,获得其他对象和服务的起始类,并用于返回 OPC Group 类对象。
  2)OPC Group:存储由若干 OPC Item 组成的 Group 信息,并用于返回 OPC Item 类对象。
  3)OPC Item:存储具体 Item 的定义、数据值、状态值等信息。

2 采用OPC规范设计系统的优势

  1)OPC规范以 OLE/DCOM 为技术基础,而 OLE/DCOM 支持 TCP/IP 等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上。
  2)OPC按照面向对象的原则,将一个应用程序(OPC 服务器)作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。
  3)OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置以及使得系统的应用范围更广。
  4)采用OPC规范,便于系统的组态化,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。
  5)OPC 规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。


3 使用VB6.0编写OPC Client访问世纪星

  世纪星同时提供OPC Client和OPC Server两种功能,想要通过OPC方式和世纪星交换数据,必须要编写OPC Client和OPC Server其中的任意一种。由于编写OPC Server程序具有一定难度,所以我们建议工程技术人员开发OPC Client来和世纪星的OPC Server交互。

  1)世纪星工程

 使用OPC Client访问世纪星是不需要在世纪星中做任何特殊配置的,我们在世纪星中创建如下类型变量。在应用程序命令语言中让这些变量发生变化。

图1 

图2 应用程序命令语言脚本

图3 世纪星运行画面

 2)VB6.0编写OPC Client

A、脚本

Option Explicit
Dim WithEvents opcSvr As OPCServer
Dim WithEvents opcGrp As OPCGroup
Dim opcItm(3) As OPCItem
Dim opcInt As Variant
Dim opcInfo As Variant
Dim opcDsc As Variant
Dim v As Variant
Dim q As Variant
Dim t As Variant
Private Sub cmdConnect_Click()
On Error GoTo ed
If opcSvr Is Nothing Then Set opcSvr = New OPCServer
opcSvr.Connect "CenturyStar.OPCServer", txtIP.Text
opcSvr.OPCGroups.DefaultGroupUpdateRate = 50
Set opcGrp = opcSvr.OPCGroups.Add("Group")
Set opcItm(0) = opcGrp.OPCItems.AddItem("opcInt", 1)
Set opcItm(1) = opcGrp.OPCItems.AddItem("opcInfo", 2)
Set opcItm(2) = opcGrp.OPCItems.AddItem("opcDsc", 3)
Set opcItm(3) = opcGrp.OPCItems.AddItem("opcFlt", 4)
If opcSvr.ServerState = 1 Then
    MsgBox "opc服务器已连接!", vbOKOnly, "提示:"
    tmrRun.Enabled = True
    cmdConnect.Enabled = False
    cmdDisConnect.Enabled = True
Else
MsgBox "opc服务器连接错误!", vbOKOnly, "提示:"
End If
ed:
End Sub
Private Sub cmdDisConnect_Click()
On Error GoTo ed
tmrRun.Enabled = False
opcSvr.OPCGroups.RemoveAll
opcSvr.Disconnect
Set opcSvr = Nothing
cmdDisConnect.Enabled = False
cmdConnect.Enabled = True
ed:
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error GoTo ed
cmdDisConnect_Click
ed:
End
End Sub
Private Sub tmrRun_Timer()
On Error GoTo ed
 tmrRun.Enabled = False
If opcSvr.ServerState Then
    opcItm(0).Read 1, v, q, t
    txtInt.Text = v   
    opcItm(1).Read 1, v, q, t
    txtInfo.Text = v
    opcItm(2).Read 1, v, q, t
    txtDsc.Text = v   
    opcItm(3).Read 1, v, q, t
    txtFlt.Text = v
End If
 tmrRun.Enabled = True
ed:
End Sub


B、画面

图4 OPC Client界面

  3)示例说明

  A、使用OPC之前可能需要安装OPC Data Access 2.0 Components。
  B、联网运行需要配置DCOM,配置的详细情节请参考世纪星帮助或世纪星安装光盘中的《世纪星OPC Server配置指南》。
  C、本例只演示从世纪星中读取数据,读者可自行研究回写数据的例子。

 

4 世纪星 OPC Server 配置指南

  由于Windows XP SP2操作系统的安全特性非常高,所以配置也相对其他系统而言是zui复杂的。下面以 Windows XP SP2操作系统为例来说明CenturyStar OPCServer的配置方法。

  1) CenturyStar OPCServer的安装
  在安装CenturyStar的过程中,CenturyStar OPCServer和OPC的核心组件会自动被安装到计算机上。安装成功后,计算机上会注册有一个服务器: CenturyStar. OPCServer。

  2)Windows安全性配置
  1.防火墙
  *种方法是关闭防火墙。在控制面板中打开Windows防火墙,在“常规”页面中选择关闭。
  第二种方法是不关闭防火墙,添加一个例外到防火墙并开放DCOM端口。在控制面板中打开安全中心,选择Windows防火墙,在“例外”页面中选择添加程序。需要“添加的程序”有Microsoft Management Console(即:mmc.exe,目录:C:WindowsSystem32), OPCServer.exe(目录:C:CenturyStar),OPCClient.exe(目录:C:CenturyStar),OPCEnum.exe(目录:C:WindowsSystem32)。选择“添加端口”,名称:DCOM,端口:135,类型:TCP。
  2.启用文件共享
  在控制面板中打开网络安装向导,在“文件和打印机共享”页面选择启用。

  3)DCOM配置
  在开始菜单中选择“运行”,输入dcomcnfg,回车。打开“组件服务——计算机”,右键“我的电脑”——属性,在“默认”属性页面,“在此计算机上启用分布式COM”上打勾;“默认身份级别”选择无,“默认模拟级别”选择标识;在“默认协议”页面,将“面向连接的TCP/IP”移到zui上方;在“COM安全”页面里,“访问权限”中“编辑限制”添加Everyone并附给所有权限,附给Anonymous Logon所有权限,“编辑默认值”添加Everyone并附给所有权限,附给System所有权限;“启动和激活权限”中“编辑限制”添加Everyone并附给所有权限,“编辑默认值”添加Everyone并附给所有权限,附给Interactive,System所有权限。
  展开我的电脑——DCOM配置,选择CenturyStar.OPCServer,“常规”页面“身份验证”选择无;“位置”页面“在此计算机运行应用程序”上打勾;“安全”页面在“配置权限”中添加Everyone并附给所有权限,附给System所有权限;在“标识”页面中选择“交互式用户”。
  OPCEnum的DCOM配置参考CenturyStar.OPCServer。
  注意:配置完必须重起计算机才能生效,客户机可配置参考服务器配置。


5 小结

  如果需要世纪星和第三方软件通讯尽量使用OPC方式,这种方式的优点是效率较高,容易实现网络连接。
 

免责声明:矿库网文章内容来源于网络,为了传递信息,我们转载部分内容,尊重原作者的版权。所有转载文章仅用于学习和交流之目的,并非商业用途。如有侵权,请及时联系我们删除。感谢您的理解与支持。

举报
收藏 0
评论 0
CP5611卡(6GK1561-1AA00和6GK1561-1AA01)和西门子总线连接器6ES7972-0BA12-0XA0,6ES7972-0BB12-0XA0,6ES7972-0
本公司经营西门子 CP5611卡 PLC,质量保证,洽谈。:肖锋: 工作CP5611卡简单介绍1、实现PC(计算机)与SIMATIC S7之间的PROFIBUS/MPI通讯连接; 2、CP5611可支持以下软件: STEP7V.52及以上 SOFTNET-S7 SOFTNET-DP SOFTNET-DP从站 COM P

0评论2020-07-20383

专营希捷SCSI硬盘、SAS硬盘、SATA硬盘、FC接口硬盘 13901101075
专营希捷SCSI接口、SAS接口、SATA接口、FC接口硬盘 一、希捷SCSI接口50针硬盘:ST34371N、ST34520N、ST32272N、ST32430N、ST318416N、ST31230N、ST39140N、ST32171N、ST34571N、ST34573N、ST39173N、ST39216N、ST318418N、ST336918N、ST3

0评论2020-07-20677

希捷ST9300603SS、ST9146852SS、ST9146802SS、ST973402SS SAS硬盘13901101075
北京双汇通公司销售大量SAS各种容量硬盘—— SAS即串行连接SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的

0评论2020-07-20629

智能液晶触摸显示终端与单片机接口的设计
题记:作为一种常见的显示设备,LCD具有功耗低,体积小,重量轻,显示信息量大等特点,尤其是在便携设备中,更占据着主流的地位。对于字符或数字的简单信息显示,通常可用段码式LCD驱动器。对于复杂的信息显示,则必须由点阵式LCD驱动器

0评论2020-07-20659

仿真测试软件 Kvaser CanKing
仿真测试软件 Kvaser CanKing Kvaser CanKing是一个免费的CAN总线监测器和通用诊断工具。 它特别适合于交互式开发工作。您可以容易地发送CAN消息并研究它们在目标模块上的影响。你只需要一个Kvaser CAN接口。 Kvaser CanKing完全免费。特

0评论2020-07-2085

智维 PCIEcan
智维 PCIEcan双通道高速 PCIX 接口 CAN 总线分析仪Kvaser PCIEcan 产品是高速 PCIX 接口 CAN 总线分析仪,该产品可无损耗的发送、接收 CAN 总线标准帧和扩展帧。硬件特点完全兼容高速PCI-X规范。 专为标准工业PC机设计。 安装快速、简易

0评论2020-07-20650

YC6990无线真彩触摸屏中控
一、系统概述YC6990控制系统是易控科技历经三年来研发出来一款在技术水平上可与国际先进品牌相抗衡的可编程中央控制系统,其强大的控制能力可以将不同厂家、型号及性质的视听器材或硬件,甚至环境装置连接起来。通过配合无线触摸屏EC57CW

0评论2020-07-20287

投影机开关集中控制解决方案
该解决方案采用我公司先进的YC6980可编程中控主机,ARM32位内嵌式处理器,高速运算处理,性能稳定,支持第三方设备及控制协议;系统自带红外仿真学习红能,16进制数据存储,方便系统维护和升级,8路独立可编程RS-232控制接口,可以收发RS

0评论2020-07-20109

智维 Memorator Professional
智维 MemoratorProfessional基于USB的实时CAN总线智能数据记录仪Kvaser Memorator Professional 是一款具有数据记录功能的 USB 接口 CAN 总线分析仪,该产品既可以用作 USB 接口的 CAN 总线分析仪(如 Kvaser USBcan Professional 分析仪

0评论2020-07-20373